#ifndef __COMPONENT_INVENTORY_H__
#define __COMPONENT_INVENTORY_H__

#include "ComponentInventoryBase.h"

namespace PocketSurvival
{
    struct ComponentInventory : public ComponentInventoryBase
    {
        virtual void setActiveSlotIndex(uint32_t slotIndex) override;
        virtual uint32_t getActiveSlotIndex() override;
        virtual void setVisibleSlotsCount(uint32_t count) override;
        virtual uint32_t getVisibleSlotsCount() override;
        virtual uint32_t getSlotCapacity(uint32_t slotIndex, int32_t cellValue) override;

        virtual const std::string &getName() const override;
        static const std::string &GetName();
        virtual void load(const nlohmann::json &jsonData) override;
        virtual void save(nlohmann::json &jsonData) override;
        virtual void saveToMsgJson(nlohmann::json &jsonData) override;
    };

} // namespace PocketSurvival

#endif
